package com.chinacoal.hr.levelimpl.service.impl;

import com.chinacoal.hr.levelapi.entity.BizTravelEmp;
import com.chinacoal.hr.levelimpl.dao.BizTravelEmpDao;
import com.chinacoal.hr.levelimpl.service.BizTravelEmpService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import java.util.HashMap;
import java.util.List;
import java.util.Map;

/**
 * @author: YunTao.Li
 * @create: 2019-11-27 12:16
 * @description:
 **/
@Service
public class BizTravelEmpServiceImpl implements BizTravelEmpService {

    @Autowired
    private BizTravelEmpDao bizTravelEmpDao;

    /**
     * 根据条件查询出差申请单的随同人员，不带分页
     *
     * @param condition :
     * @return : java.util.List<com.chinacoal.hr.levelimpl.entity.BizTravelEmp>
     * @author : YunTao.Li
     * @date : 2019/11/27 2019/11/27
     */
    @Override
    public List<BizTravelEmp> getBizTravelEmpsWithOutPage(Map<String, Object> condition) throws Throwable {
        List<BizTravelEmp> bizTravelEmps = bizTravelEmpDao.getBizTravelEmpsWithOutPage(condition);
        return bizTravelEmps;
    }

    /**
     *
     * @author : YunTao.Li
     * @date : 2019/11/28 2019/11/28
     * @param travelId :
     * @return : java.util.List<com.chinacoal.hr.levelimpl.entity.BizTravelEmp>
     */
    @Override
    public List<BizTravelEmp> getBizTravelEmpsByTravelId(String travelId) throws Throwable {
        Map<String,Object> condition = new HashMap<String,Object>();
        condition.put("travelId",travelId);
        List<BizTravelEmp> bizTravelEmps = this.getBizTravelEmpsWithOutPage(condition);
        return bizTravelEmps;
    }

    /**
     * 新增随行人员
     *
     * @param record :
     * @return : java.util.Map<java.lang.String,java.lang.String>
     * @author : YunTao.Li
     * @date : 2019/11/27 2019/11/27
     */
    @Override
    public Map<String, String> insertBizTravelEmp(BizTravelEmp record) throws Throwable {
        Map<String, String> result = new HashMap<String, String>();
        result.put("code", "-1");

        try {
            bizTravelEmpDao.insertBizTravelEmp(record);
        } catch (Throwable e) {
            e.printStackTrace();
            throw e;
        }

        result.put("code", "1");
        return result;
    }

    /**
     * @param travelId :
     * @return : java.util.Map<java.lang.String,java.lang.String>
     * @author : YunTao.Li
     * @date : 2019/11/27 2019/11/27
     */
    @Override
    public Map<String, String> deleteBizTravelEmpByTravelId(String travelId) throws Throwable {
        Map<String, String> result = new HashMap<String, String>();
        result.put("code", "-1");

        try {
            bizTravelEmpDao.deleteBizTravelEmpByTravelId(travelId);
        } catch (Throwable e) {
            e.printStackTrace();
            throw e;
        }

        result.put("code", "1");
        return result;
    }
}
